Armadillo is a powerful
and expressive C++ template library for linear algebra and scientific
computing. It aims towards a good balance between speed and ease of use,
has a syntax deliberately close to Matlab, and is useful for algorithm
development directly in C++, or quick conversion of research code into
production environments.
RcppArmadillo
integrates this library with the
R environment and language and is
widely used by (currently) 1126 other packages on
CRAN, downloaded 31.7 million
times (per the partial logs from the cloud mirrors of CRAN), and the
CSDA paper (
preprint
/ vignette) by Conrad and myself has been cited 569 times according
to Google Scholar.
This release ends the practice on asking
Armadillo to suppress
deprecation warnings.
RcppArmadillo,
as noted, has a large user base. Sometimes
Conrad sometimes made changes
without too much of a heads-up so at times it was opportune to not bring
those warnings to dozens (or maybe hundreds) of packages at
CRAN. Yet we need to balance this
with the demonstrable need to call out older deprecated code use. So
sixteen months ago, with
GitHub issue
#391, we started to alert author of 30+ affected packages and
supplied either pull requests or emailed patches to all. Eleven months
ago
GitHub
issues #402 was added for a second deprecation.
And the time of making the switch has come. Release 0.12.6.6.1 no
longer defines
ARMA_IGNORE_DEPRECATED_MARKER
. So among the
over 1100 packages using
RcppArmadillo
at
CRAN, around a good dozen or
so were flagged in the upload but
CRAN concurred and let the package
migrate to
CRAN.
If you maintain an affected package, consider applying the patch or
pull request now. A simple stop-gap measure also exists by adding
-DARMA_IGNORE_DEPRECATED_MARKER
to
src/Makevars
as either
PKG_CPPFLAGS
or
PKG_CXXFLAGS
to reactivate it. But a proper code update,
which is generally simple, may be better. If you are unsure, do not
hesitate to get in touch.
The set of changes since the last
CRAN release follows.
Changes
in RcppArmadillo version 0.12.6.6.1 (2023-12-03)
- Following the extendeded transition in #391 and
#402,
this release no longer sets
ARMA_IGNORE_DEPRECATED_MARKER
.
Maintainers of affected packages have received pull requests or patches
and can set -DARMA_IGNORE_DEPRECATED_MARKER
as
PKG_CPPFLAGS
.
Courtesy of my
CRANberries, there
is a
diffstat
report relative to previous release. More detailed information is on
the
RcppArmadillo
page. Questions, comments etc should go to the
rcpp-devel
mailing list off the
Rcpp R-Forge
page.
If you like this or other open-source work I do, you can
sponsor me at
GitHub.
This post by Dirk
Eddelbuettel originated on his Thinking inside the box
blog. Please report excessive re-aggregation in third-party for-profit
settings.